package com.lei.dao;

import com.lei.entity.Book;

import java.util.List;

/**
 * @author Lei Chu
 * @Date 2020/10/21 18:19
 */
public interface BookDao {

    /**
     * 功能描述:通过类型Id查找该类型有的书，用于书本下拉框的动态填充
     * @param typeid 类型Id
     * @return java.util.List<java.util.Map>
     */
    List<Book> getBookIdAndNameByTypeId(int typeid);
    /**
     * 功能描述:根据书的id查询价格和数量
     * @param bookid BookId
     * @return com.lei.entity.Book
     */
    Book getBookCountAndPriceById(String bookid);

    /**
     * 功能描述:获得书的总数
     * @param book Book
     * @return long
     */
    long getCount(Book book);

    /**
     * 功能描述:获得所有的书，可带查询条件
     * @param book Book
     * @return java.util.List<com.lei.entity.Book>
     */
    List<Book> getAllBook(Book book);

    /**
     * 功能描述:修改图书的数量
     * @param book Book
     * @return int
     */
    int updateStatus(Book book);

    /**
     * 功能描述:添加图书
     * @param book Book
     * @return int
     */
    int addBook(Book book);

    /**
     * 功能描述:修改图书
     * @param book Book
     * @return int
     */
    int updateBook(Book book);

    /**
     * 功能描述:检测添加、修改图书的时候的书是否重复（—书名、作者、出版社 ）
     * @param book Book
     * @return boolean
     */
    boolean checkBook(Book book);
}
